package com.yungu.swift.lbs.trace.baidu.track;

/**
 * @description 轨迹查询与纠偏请求类
 * @date 2017/12/2 10:34
 * @version 1.0
 */
public class GetTrackRequest extends GetDistanceRequest{

    /**
     * 对应参数coord_type_output
     * 返回的坐标类型	string	否	默认值：bd09ll
     该字段用于控制返回结果中的坐标类型。可选值为：
     gcj02：国测局加密坐标
     bd09ll：百度经纬度坐标
     该参数仅对国内（包含港、澳、台）轨迹有效，海外区域轨迹均返回 wgs84坐标系
     */
    private String coordTypeOutput;

    /**
     * 对应参数sort_type
     * 返回轨迹点的排序规则	string	否	默认值：asc
     取值规则（注意：与 v1的默认值相反）：
     asc：按定位时间升序排序（旧->新）
     desc：按定位时间降序排序（新->旧）
     */
    private String sortType;

    /**
     * 对应参数page_index
     * 分页索引	int(1到2^21-1)	否	默认值：1
     与page_size一起计算从第几条结果返回，代表返回第几页。
     */
    private int pageIndex;

    /**
     * 对应参数pageSize
     * 分页大小	int(1-5000)	否	默认值：100
     返回结果最大个数与page_index一起计算从第几条结果返回，代表返回结果中每页有几个轨迹点。
     */
    private int pageSize;

    public String getCoordTypeOutput() {
        return coordTypeOutput;
    }

    public void setCoordTypeOutput(String coordTypeOutput) {
        this.coordTypeOutput = coordTypeOutput;
    }

    public String getSortType() {
        return sortType;
    }

    public void setSortType(String sortType) {
        this.sortType = sortType;
    }

    public int getPageIndex() {
        return pageIndex;
    }

    public void setPageIndex(int pageIndex) {
        this.pageIndex = pageIndex;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public GetTrackRequest(long requestID, String ak, long serviceId, String entityName, long startTime, long endTime, String isProcessed, String processOption, String supplementMode, String coordTypeOutput, String sortType, int pageIndex, int pageSize) {
        super(requestID, ak, serviceId, entityName, startTime, endTime, isProcessed, processOption, supplementMode);
        this.coordTypeOutput = coordTypeOutput;
        this.sortType = sortType;
        this.pageIndex = pageIndex;
        this.pageSize = pageSize;
    }

    @Override
    public String toString() {
        return "GetTrackRequest{" +
                "coordTypeOutput='" + coordTypeOutput + '\'' +
                ", sortType='" + sortType + '\'' +
                ", pageIndex=" + pageIndex +
                ", pageSize=" + pageSize +
                "} " + super.toString();
    }
}
